package cn.com.itg.pojo.domain.vo;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@NoArgsConstructor
@Data
public class OthInSingleSaveVO implements Serializable {

    /**
     * data : {"id":0,"needCalcLines":false,"code":"QTRK0000001","org":"wzyqzn","accountOrg":"wzyqzn","vouchdate":"2021-03-05","bustype":"A08001","store":"store_code_01","warehouse":"ck01","department":"dept01","stockMgr":"operator_01","operator":"operator_01","memo":"XXX","_status":"Insert","headItem":{"id":"","define1":"自定义项1","define2":"1891079656820992"},"defines":{"id":"","define1":"自由自定义项1","define2":"1891079656820993"},"othInRecords":[{"id":0,"rowno":1,"isSerialNoManage":false,"product":"PD0817000001","productsku":"PD08170000010004","free1":"红色","free2":"100ml","batchno":"SH01","producedate":"2020-09-24 00:00:00","invaliddate":"2020-09-24 00:00:00","define1":"SH01_属性1","define2":"SH01_属性2","contactsQuantity":10,"contactsPieces":10,"qty":10,"unit":"KGM","subQty":10,"invExchRate":1,"stockUnitId":"KGM","natUnitPrice":10,"natMoney":100,"goodsposition":"ck01_hw01","project":"2411545234969600","unitExchangeType":1,"autoCalcCost":false,"isBatchManage":false,"isExpiryDateManage":false,"memo":"XXX","_status":"Insert","bodyItem":{"id":"","define1":"自定义项1","define2":"自定义项2"},"defines":{"id":"","define1":"自由自定义项1","define2":"自由自定义项2"},"othInRecordsSNs":[{"id":0,"sn":"SN_001","_status":"Insert","pubts":""}]}]}
     */

    private DataBean data;

    @NoArgsConstructor
    @Data
    @Accessors(chain = true)
    public static class DataBean implements Serializable{
        /**
         * id : 0
         * needCalcLines : false
         * code : QTRK0000001
         * org : wzyqzn
         * accountOrg : wzyqzn
         * vouchdate : 2021-03-05
         * bustype : A08001
         * store : store_code_01
         * warehouse : ck01
         * department : dept01
         * stockMgr : operator_01
         * operator : operator_01
         * memo : XXX
         * _status : Insert
         * headItem : {"id":"","define1":"自定义项1","define2":"1891079656820992"}
         * defines : {"id":"","define1":"自由自定义项1","define2":"1891079656820993"}
         * othInRecords : [{"id":0,"rowno":1,"isSerialNoManage":false,"product":"PD0817000001","productsku":"PD08170000010004","free1":"红色","free2":"100ml","batchno":"SH01","producedate":"2020-09-24 00:00:00","invaliddate":"2020-09-24 00:00:00","define1":"SH01_属性1","define2":"SH01_属性2","contactsQuantity":10,"contactsPieces":10,"qty":10,"unit":"KGM","subQty":10,"invExchRate":1,"stockUnitId":"KGM","natUnitPrice":10,"natMoney":100,"goodsposition":"ck01_hw01","project":"2411545234969600","unitExchangeType":1,"autoCalcCost":false,"isBatchManage":false,"isExpiryDateManage":false,"memo":"XXX","_status":"Insert","bodyItem":{"id":"","define1":"自定义项1","define2":"自定义项2"},"defines":{"id":"","define1":"自由自定义项1","define2":"自由自定义项2"},"othInRecordsSNs":[{"id":0,"sn":"SN_001","_status":"Insert","pubts":""}]}]
         */

        private String id;
        private String resubmitCheckKey;
        private Boolean needCalcLines;
        private String code;
        private String org;
        private String accountOrg;
        private String vouchdate;
        private String bustype;
        private String store;
        private String warehouse;
        private String department;
        private String stockMgr;
        private String operator;
        private String memo;
        private String _status;
        private DefinesVO headItem;
        private DefinesVO defines;
        private List<OthInRecordsBean> othInRecords;



        @NoArgsConstructor
        @Data
        public static class OthInRecordsBean implements Serializable{
            /**
             * id : 0
             * rowno : 1
             * isSerialNoManage : false
             * product : PD0817000001
             * productsku : PD08170000010004
             * free1 : 红色
             * free2 : 100ml
             * batchno : SH01
             * producedate : 2020-09-24 00:00:00
             * invaliddate : 2020-09-24 00:00:00
             * define1 : SH01_属性1
             * define2 : SH01_属性2
             * contactsQuantity : 10
             * contactsPieces : 10
             * qty : 10
             * unit : KGM
             * subQty : 10
             * invExchRate : 1
             * stockUnitId : KGM
             * natUnitPrice : 10
             * natMoney : 100
             * goodsposition : ck01_hw01
             * project : 2411545234969600
             * unitExchangeType : 1
             * autoCalcCost : false
             * isBatchManage : false
             * isExpiryDateManage : false
             * memo : XXX
             * _status : Insert
             * bodyItem : {"id":"","define1":"自定义项1","define2":"自定义项2"}
             * defines : {"id":"","define1":"自由自定义项1","define2":"自由自定义项2"}
             * othInRecordsSNs : [{"id":0,"sn":"SN_001","_status":"Insert","pubts":""}]
             */

            private String id;
            private String rowno;
            private Boolean isSerialNoManage;
            private String product;
            private String productsku;
            private String free1;
            private String free2;
            private String batchno;
            private String producedate;
            private String invaliddate;
            private String define1;
            private String define2;
            private BigDecimal contactsQuantity;
            private BigDecimal contactsPieces;
            private BigDecimal qty;
            private String unit;
            private BigDecimal subQty;
            private BigDecimal invExchRate;
            private String stockUnitId;
            private BigDecimal natUnitPrice;
            private BigDecimal natMoney;
            private String goodsposition;
            private String project;
            private int unitExchangeType;
            private Boolean autoCalcCost;
            private Boolean isBatchManage;
            private Boolean isExpiryDateManage;
            private String memo;
            private String _status;
            private DefinesVO bodyItem;
            private DefinesVO defines;
            private List<OthInRecordsSNsBean> othInRecordsSNs;

            @NoArgsConstructor
            @Data
            public static class OthInRecordsSNsBean implements Serializable{
                /**
                 * id : 0
                 * sn : SN_001
                 * _status : Insert
                 * pubts :
                 */

                private BigDecimal id;
                private String sn;
                private String _status;
                private String pubts;
            }
        }
    }
}
